package cn.com.surker.material.service;

import cn.com.surker.system.entity.DataSourceInfo;

import java.util.List;
import java.util.Map;

/**
 * @Author lucky
 * @create 2021年06月02 10:13
 * @desc 原材供应商
 */
public interface ISupplierService {

    /**
     * 查询原材供应商列表
     * @param ds 数据源
     * @param name 供应商名称
     * @param offset
     * @param limit
     * @return
     */
	Map<String, Object> querySupplierByPage(DataSourceInfo ds, String name, Integer status, Integer offset, Integer limit);

    /**
     * 查询原材供应商详情
     * @param ds 数据源
     * @param id 供应商ID
     * @return
     */
	List<Map<String, Object>> querySupplierDetail(DataSourceInfo ds, Integer id);

    /**
     * 添加供应商
     * @param ds 数据源
     * @param code 供应商唯一识别码
     * @param name 供应商名称
     * @param abbreviation 简称
     * @param creatorId 业务人ID
     * @param creator 业务人
     * @param type 类型(1:材料,2:运输)
     * @param property 属性(1:原材,2:辅材)
     * @param remark 备注
     * @return
     */
	Integer saveSupplier(DataSourceInfo ds, String code, String name, String abbreviation, Integer creatorId,
							   Integer type, Integer property, String creator, String remark);

    /**
     * 修改供应商状态
     * @param ds 数据源
     * @param id 供应商ID
     * @param creatorId 业务人ID
     * @param creator 业务人
     * @param status 状态(2:启用,1:停用)
     * @return
     */
	Integer updateSupplierStatus(DataSourceInfo ds, Integer id, Integer status, Integer creatorId, String creator);

    /**
     * 修改供应商信息
     * @param ds 数据源
     * @param id 供应商ID
     * @param name 供应商名称
     * @param abbreviation 检查
     * @param code 唯一识别码
     * @param creatorId 业务人ID
     * @param creator 业务人
     * @return
     */
	Integer updateSupplier(DataSourceInfo ds, Integer id, String name, String abbreviation,
								 String code, Integer creatorId, String creator, String remark);
}
